require 'singleton'
require 'model/connection'
require 'model/partido'

class PartidoDao
   include Singleton
   
   def initialize
      self
   end

=begin
Author  : atila camurca
Date    : 08/05/2010
Version : 1.0
Return  : #self
Description
   Insere um novo partido no banco de dados.
Parameters
   partido #Partido : um objeto Partido com os dados do novo partido.
=end
   def save(partido)
      sql = "insert into partido (id, sigla) values (?, ?)"
      conn = Connection.instance.get_conn
      conn.execute(sql, partido.id, partido.sigla)
      self
   end

=begin
Author  : atila camurca
Date    : 08/05/2010
Version : 1.0
Return  : #Array #Partido
Description
   Encontra todos os partidos.
=end
   def find_all
      a_partido = Array.new
      sql = "select id, sigla from partido"
      conn = Connection.instance.get_conn
      rst = conn.query(sql)
      rst.each do |row|
         partido = Partido.new
         partido.id = row[0]
         partido.sigla = row[1]
         a_partido.push(partido)
      end
      rst.close
      a_partido
   end
   
=begin
Author  : atila camurca
Date    : 08/05/2010
Version : 1.0
Return  : #Partido
Description
   Encontra um determinado partido pelo id.
Parameters
   id #Integer : id do partido.
=end
   def find_by_id id
      partido = nil
      sql = "select id, sigla from partido where id = ?"
      conn = Connection.instance.get_conn
      rst = conn.query(sql, id)
      rst.each do |row|
         partido = Partido.new
         partido.id = row[0]
         partido.sigla = row[1]
      end
      rst.close
      partido
   end
end